package com.doordu.admin.service.user.dao;

import java.util.List;
import java.util.Map;

import com.doordu.admin.common.core.page.PageBean;
import com.doordu.admin.common.core.page.PageParam;
import com.doordu.admin.service.user.entity.RpPayProduct;

/**
 * @类功能说明： 支付产品dao
 * @类修改者：
 * @修改日期：
 * @修改说明：
 * 
 * @作者：zh
 * @创建时间：2016-5-18 上午11:14:10
 * @版本：V1.0
 */
public interface RpPayProductDao  {
	

	/**
	 * 函数功能说明 ：单条插入数据
	 * 
	 * @Title: insert
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:24:29
	 * @param entity
	 * @return
	 * @return int
	 */
	int insert(RpPayProduct entity);

	/**
	 * 函数功能说明 ： 批量插入数据
	 * 
	 * @Title: insert
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:24:34
	 * @param list
	 * @return
	 * @return int
	 */
	int insert(List<RpPayProduct> list);

	/**
	 * 函数功能说明 ：根据id单条更新数据
	 * 
	 * @Title: update
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:24:40
	 * @param entity
	 * @return
	 * @return int
	 */
	int update(RpPayProduct entity);

	/**
	 * 函数功能说明 ： 根据id批量更新数据
	 * 
	 * @Title: update
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:25:15
	 * @param list
	 * @return
	 * @return int
	 */
	int update(List<RpPayProduct> list);

	/**
	 * 函数功能说明 ： 根据column批量更新数据
	 * 
	 * @Title: update
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:25:24
	 * @param paramMap
	 * @return
	 * @return int
	 */
	int update(Map<String, Object> paramMap);

	/**
	 * 函数功能说明 ： 根据id查询数据
	 * 
	 * @Title: getById
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:25:32
	 * @param id
	 * @return
	 * @return T
	 */
	RpPayProduct getById(String id);
	/**
	 * 函数功能说明 ： 根据column查询数据
	 * 
	 * @Title: getByColumn
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:25:41
	 * @param paramMap
	 * @return
	 * @return T
	 */
	public RpPayProduct getByColumn(Map<String, Object> paramMap);

	/**
	 * 根据条件查询 listBy
	 * 
	 * @Title: getBy
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:25:50
	 * @param paramMap
	 * @return
	 * @return T
	 */
	public RpPayProduct getBy(Map<String, Object> paramMap);

	/**
	 * 根据条件查询列表数据.
	 * 
	 * @Title: listBy
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:25:54
	 * @param paramMap
	 * @return
	 * @return List<RpPayProduct>
	 */
	public List<RpPayProduct> listBy(Map<String, Object> paramMap);

	/**
	 * 函数功能说明 ： 根据column查询列表数据.
	 * 
	 * @Title: listByColumn
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:26:01
	 * @param paramMap
	 * @return
	 * @return List<RpPayProduct>
	 */
	public List<RpPayProduct> listByColumn(Map<String, Object> paramMap);

	/**
	 * 函数功能说明 ： 根据column查询记录数
	 * 
	 * @Title: getCountByColumn
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:26:10
	 * @param paramMap
	 * @return
	 * @return Long
	 */
	Long getCountByColumn(Map<String, Object> paramMap);

	/**
	 * 函数功能说明 ： 根据id删除数据
	 * 
	 * @Title: delete
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:26:16
	 * @param id
	 * @return
	 * @return int
	 */
	int delete(String id);

	/**
	 * 函数功能说明 ： 根据id批量删除数据
	 * 
	 * @Title: delete
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:26:23
	 * @param list
	 * @return
	 * @return int
	 */
	int delete(List<RpPayProduct> list);

	/**
	 * 函数功能说明 ： 根据column批量删除数据
	 * 
	 * @Title: delete
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:26:29
	 * @param paramMap
	 * @return
	 * @return int
	 */
	int delete(Map<String, Object> paramMap);

	/**
	 * 函数功能说明 ： 分页查询数据
	 * 
	 * @Title: listPage
	 * @Description:
	 * @author xiaoqun.yi yixq@doordu.com
	 * @date 2017年3月27日 下午3:26:36
	 * @param pageParam
	 * @param paramMap
	 * @return
	 * @return PageBean
	 */
	public PageBean listPage(PageParam pageParam, Map<String, Object> paramMap);

}